package dsx.monitor;

import dsx.biz.SuperAnsw;
import dsx.biz.SuperReq;
import dsx.dsxFrame.DsxFrame;
import dsx.macro.ReturnValue;

public class ServerCtrlReq extends SuperReq {
	// 0 重新加载配置文件，1 全开启，2 全关闭，3 全重启，11 单开启，12 单关闭，13 单重启, 
	// 101 全部刷新，102 单刷新
	int type; 
	// 命令指向服务器
	String serverName;
	// 命令指向业务
	String libName;

	public int getType() {
		return type;
	}

	public void setType(int type) {
		this.type = type;
	}

	public String getServerName() {
		return serverName;
	}

	public void setServerName(String serverName) {
		this.serverName = serverName;
	}

	public String getLibName() {
		return libName;
	}

	public void setLibName(String libName) {
		this.libName = libName;
	}

	@Override
	public Object handle() {
		try {
			switch (type) {
			case 0:
				DsxFrame.loadServer();
				break;
			case 1:
				DsxFrame.startAll();
				break;
			case 2:
				DsxFrame.stopAll();
				break;
			case 3:
				DsxFrame.restartAll();
				break;
			case 11:
				DsxFrame.start(serverName);
				break;
			case 12:
				DsxFrame.stop(serverName);
				break;
			case 13:
				DsxFrame.restart(serverName);
				break;
			case 101:
				DsxFrame.getServer(serverName).reloadBizLib();
				break;
			case 102:
				DsxFrame.getServer(serverName).reloadBizLib(libName);
				break;
			}
			
			//	// 0 重新加载配置文件，1 全开启，2 全关闭，3 全重启，11 单开启，12 单关闭，13 单重启, 
			// 101 全部加载，102 单加载
			SuperAnsw answ = new SuperAnsw();
			answ.setRet(ReturnValue.succeed);
			return answ;
		} catch (Exception ex) {
			return null;
		}
	}

}
